<?php
class Admin_Form_InsertUser extends Zend_Form{
	public function init(){
		$this->setAttrib('id', 'frmAdminForm');
		
		//mã 
		$user_id = $this->createElement('hidden', 'user_id');
		
		//tên đăng nhập
		$user_username = $this->createElement('text', 'user_username')
			->setLabel('Tên đăng nhập')
			->setRequired(true)
			->setDescription('Nhập không dấu, không khoản trắng và chỉ những kí tự a-z, 0-9, "-", "_"')
			->addValidator('Regex', false, array(
					'pattern' => '/^[a-zA-Z0-9_-]*$/',
					'messages' => array(
							Zend_Validate_Regex::NOT_MATCH => 'Tên đăng nhập không hợp lệ.',
							Zend_Validate_Regex::ERROROUS => 'Tên đăng nhập không hợp lệ.'
					)
			))
		;
		
		//mật khẩu
		$user_password = $this->createElement('password', 'user_password')
			->setLabel('Mật khẩu')
			->setDescription('Mật khẩu từ 6-50 kí tự')
			->setRequired(true)
			->addValidator('StringLength',false,array(5,50))
			;
		
		//nhập lại mật khẩu
		$user_password_retype = $this->createElement('password', 'user_password_retype')
			->setLabel('Nhập lại mật khẩu')
			->setRequired(true)
		
		;
		
		//Họ tên
		$user_fullname = $this->createElement('text', 'user_fullname')->setLabel('Họ tên đầy đủ');
		
		//Email
		$user_email = $this->createElement('text', 'user_email')->setLabel('Email')
			->setRequired(true)
			->setDescription('Không được để trống và không được phép trùng');
		$user_email->addValidator('emailAddress',false);
		
		
		//trạng thái kích hoạt
		$user_status = $this->createElement('select', 'user_status')->setLabel('Trạng thái');
		$user_status->addMultiOptions(
				array(0=>"Ẩn",1=>"Hiển thị")
		);
		
		//địa chỉ
		$user_address = $this->createElement('text', 'user_address')->setLabel('Địa chỉ');
		
		//được tạo bởi
		$user_created_by = $this->createElement('text', 'user_created_by')->setLabel('Được tạo bởi');
		
		//Thời gian truy cập gần nhất
		$user_last_access = $this->createElement('text', 'user_last_access')->setLabel('Lần cuối truy cập');
		
		//số điện thoại
		$user_phone = $this->createElement('text', 'user_phone')->setLabel('Số điện thoại')
			->addValidator('digits',false);
		;
				
		//group
		$user_group_user_id = $this->createElement('select', 'user_group_user_id')->setLabel('Nhóm quyền hạn');
		$group_userMD = new Application_Model_DbTable_GroupUser();
		$user_group_user_id->addMultiOptions($group_userMD->getPairColumn());

		//thời gian được tạo
		$user_creation_time = $this->createElement('text', 'user_creation_time')->setLabel('Thời được gian tạo');
		$this->addDisplayGroup(array(
				$user_username,
				$user_fullname,
				$user_password,
				$user_password_retype,
				$user_email,
				$user_group_user_id,				
				$user_status,				
				$user_address,
				$user_phone,				
				$user_creation_time,
				$user_created_by,
				$user_last_access,

				$user_id
		), 'basic-info',array('legend'=>'Thông tin cơ bản','class'=>'display-group'));
		
		$this->addElements(array(
				$user_username,
				$user_fullname,
				$user_password,
				$user_password_retype,
				$user_email,
				$user_group_user_id,				
				$user_status,				
				$user_address,
				$user_phone,				
				$user_creation_time,
				$user_created_by,
				$user_last_access,
				$user_id
		));
		
	}
}